Multi-party key agreement method using bilinear map and system therefor

ABSTRACT

The present invention provides an efficient method and system in which a plurality of participants share a secret key in a communication environment that is not ensured. According to an embodiment of the invention, each of the participants is assigned with a secret key from a key generation party, generates exchange information, and transmits its own exchange information to the other participant to exchange the exchange information with each other. Each of the participants generates a shared key on the basis of the exchange information and its own secret key.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a multi-party key agreement method and a system therefor, and more particularly, to a multi-party key agreement method that is capable of quickly and safely sharing a multi-party key using a bilinear map and a system therefor.

This work was supported by the IT R&D program of MIC/IITA [2005-Y-001-03, Developments of next generation security technology].

2. Description of the Related Art

It is necessary to share a secret key for an encryption algorithm in order to perform secret-ensured communication using a communication environment, such as a wireless communication environment or the Internet, which is not cryptologically ensured. As exemplary methods for implementing sharing the secret key, a key distribution method and a key agreement/exchange method are generally used. In the key distribution method, one participant selects a key and transmits the selected key to the other participants. In the key agreement/exchange method, all participants participate in a key generation process and generate a new key. According to the key distribution method, since there is a problem in that participants may select a specific key for the purpose of malevolent utilization, this method is not used in the case where participants who select a key are not trusted parties. The present invention relates to a cryptological key agreement method for a plurality of participants.

The cryptological key agreement method is first suggested by Diffie and Hellman in 1976.

According to a Diffie-Hellman (DH) key agreement method, a key can be efficiently shared. However, the Diffie-Hellman (DH) method is vulnerable to impersonations exemplified as man-in-the-middle attacks, that is, attacks to use an ID and password of a normal user by stealth and pretend to be that user.

In order to prevent the impersonations, a key agreement method including a participant authentication function has been suggested, which is called authenticated key agreement.

Participant authentication methods may be classified into two methods. A method in which participants are authenticated such that the other participants other than normal participants cannot know a shared key is called an implicit authenticated key agreement.

Further, a method in which all of keys generated by individual normal participants are ensured to be the same is called key confirmation. A method that satisfies both an implicit authenticated key agreement and key confirmation is called an explicit key agreement.

A key agreement method in which a plurality of participants can simultaneously share a key is called a multi-party key agreement method. A multi-party key agreement method to be safe and efficient is not developed yet. In the multi-party key agreement method, it is very important to minimize the traffic that is needed to share a key. This is referred to as communication complexity. In particular, it is important to develop an optimized multi-party key exchange method having communication complexity of one round.

In regards to the multi-party key exchange method, first, Ingemarsson, Tang, and Wong extend it to a multi-party key agreement method on basis of a DH key agreement in 1982. After that, various researches are made to satisfy various safety requirements. As an exemplary research result of an efficient multi-party key agreement method, a multi-party key agreement method that is suggested by Bresson and Catalano shows communication complexity of two round, and is recognized as a most excellent result in terms of safety and efficiency. In regards to the multi-party key agreement method that has communication complexity of one round, there is only a method that is suggested by Boyd and Nieto. However, this method has a problem in that important safety requirements, such as forward secrecy, are satisfied and individual participants do not equally contribute to a key agreement.

SUMMARY OF THE INVENTION

Accordingly, it is an object of the invention to minimize communication complexity that is required for a multi-party key agreement. The communication complexity is calculated from a procedure that participants performs to share a key on the basis of the number of times of transmission/reception steps. Since each step is performed after a previous step is completed, the larger the communication complexity is, the longer an actual step execution time is. The invention suggests a new multi-party key agreement method that has communication complexity of one round.

According to an aspect of the invention, a multi-party key agreement method includes allowing each of the participants to be assigned with a secret key from a key generation party; allowing each of the participants to generate exchange information; allowing each of the participants to transmit its own exchange information to the other participants, such that the exchange information is exchanged between the participants; and allowing each of the participants to generate a shared key on the basis of the received exchange information and its own secret key.

The exchange information may be generated on the basis of values that are generated from groups where bilinear maps are defined and are opened by the key generation party.

In the generating of the shared key, each of the participants may calculate a bilinear map of the received exchange information and its own secret key and generate the shared key.

The multi-party key agreement method according to the aspect of the invention may further include, after the exchanging of the exchange information, using the exchange information transmitted from the other participants to calculate a bilinear map and verifying the other participants.

According to another aspect of the invention, a multi-party key agreement system includes a key generation party and a plurality of participants. The key generation party assigns a secret key to each of the participants. Each of the participants generates exchange information and transmits the exchange information to the other participants, such that the exchange information is exchanged between the participants, and generates a shared key on the basis of the exchange information received from the other participants and its own secret key.

The exchange information may be generated on the basis of values that are generated from groups where bilinear maps are defined and are opened by the key generation party.

Each of the participants may calculate a bilinear map of the received exchange information and its own secret key and generate the shared key.

Each of the participants may use the exchange information transmitted from the other participants to calculate a bilinear map and verify the other participants.

According to a multi-party key agreement method and a system therefor of the invention, a plurality of participants can share a key such that they can perform ensured communication even in a communication environment that is not ensured. Therefore, each of the participants can perform secret-ensured communication in all environments.

According to the invention, since a step of only one round is needed to allow a plurality of participants to share a key, it is possible to efficiently share the key, as compared with the key exchange methods in the related art.

According to the invention, key confirmation can be made without additionally transmitting a message.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a structural view illustrating a relationship between participants and a key generation party that perform prior work in a key agreement method according to an embodiment of the invention;

FIG. 2 is a structural view illustrating a relationship between participants that exchange information in a key agreement method according to an embodiment of the invention; and

FIG. 3 is a flowchart illustrating a key agreement method according to an embodiment of the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

First, an environment to which the invention is applied will be described. It is assumed that participants use a communication environment, such as the Internet or a wireless communication environment, which is not ensured, to perform ensured secret communication with the other participants. In this case, if a cryptological secret key is shared by the participants, the participants can communicate with each other using a variety of known encryption algorithms. However, in a situation where there is no shared secret key, it is required to perform a process of securely sharing a secret key in a communication environment that is not ensured.

A multi-party key agreement method using a bilinear map that is suggested by the invention will be described with reference to FIGS. 1 to 3.

FIGS. 1 and 2 show a structure of a multi-party key agreement according to an embodiment of the invention.

A multi-party key agreement system according to an embodiment of the invention includes a key generation party 100 and a plurality of participants 201, 202, . . . , and 210.

A multi-party key agreement method mainly includes a step (see FIG. 1) in which a key generation party provides advance information to participants, and a step (see FIG. 2) in which the participants exchanges exchanging information with each other to generate a shared key. The participants 201, 202, . . . , and 210 communicate with the key generation party 100 as prior work before transmitting the exchange information. In actual, a process of actually sharing a key is completed by one round of a step of transmitting and receiving exchange information between the participants. In this process, since the participants do not communicate with the key generation party 100, it is possible to prevent communication from being concentrated on the key generation party 100.

The key agreement method according to each step will be described in detail with reference to FIG. 3.

First, the key generation party 100 to be reliable performs prior calculation work and generates open information in order to allocate a secret key to each of the participants. The key generation party selects a cryptographically secure bilinear map, that is, e: G₁×G₁→G₂, and groups G₁ and G₂ in which the bilinear map is defined. Here, G₁ is assumed as an additive group. Exemplary examples of the cryptographically secure bilinear map are Weil pairing and Tate pairing. Then, the key generation party arbitrarily selects a constructor P of G₁ and integers a and s, and determines the maximum number t of participants to which keys are allocated. The key generation party opens e, G1, G2, t, P, aP, a²P, . . . , and a^(t)P.

Then, the key generation party 100 assigns a secret key required for a key exchange process to each of the participants 201, 202, . . . , and 210. The process is as follows.

First, it is assumed that each of the participants 201, 202, . . . , and 210 has a pair of keys S and V that correspond to its own signature key and verification key required for an electronic signature. The i-th participant u_(i) confirms its own status to the key generation party and transmits its own verification key V_(i) to the key generation party 100. The key generation party assigns an exclusive discriminator Ii composed of an integer in a range of 1 to t to each of the participants 201, 202, . . . , and 210, and calculates ^(sα) ^(I) ^(i) ^(P) on the basis of the assigned discriminators. ^(sα) ^(I) ^(i) ^(P) becomes a unique secret key of the participant who has the discriminator I_(i). After the secret key is transmitted to each of the participants, the key generation party opens I_(i) and V_(i) of the participants.

Then, among the participants 201, 202, . . . , and 210 that are assigned with the secret keys from the key generation party 100, participants who desire to exchange keys are gathered and exchange keys with each other (Step S20).

In this step, the key generation party performs only a function of maintaining open information, and does not participate in an actual key exchange process. Since each of the participants can obtain open information required for key exchange in advance, it is possible to prevent that the communication is concentrated on the key generation party in the key exchange process.

For better understanding of description, it is assumed that the participants having discriminators I₁, I₂, . . . , and I_(n) desire to exchange keys (where n≦t). Each of the participants I_(i) selects an arbitrary number R_(i) and performs calculation with respect to each I_(j) (j≠i) as follows: ^(R) ^(i) ^(×α) ^(t+1−I) _(j) _(P) (where ^(α) ^(t+1−I) _(j) _(P) indicates a value opened by the key generation party).

Each of the participants adds its own signature to (n−1) values calculated by each of the participants and transmits them to the other participants (Step S30). After receiving messages transmitted from the other participants, each of the participants verifies a signature of each participant, and confirms whether a corresponding message is a message transmitted from a normal participant. In the verification process, a verification key that is opened by the key generation party is used. After verifying the signature, each of the participants performs the following calculation:

-   ^(Σ) ^(α) ^(t+1−I) _(i) _(R) _(j) ^(P) is calculated with respect to     each j (j≠i). -   Since ^(α) ^(t+1−I) _(i) _(R) _(j) ^(P) can be automatically     calculated, -   ^(Σ) ^(α) ^(t+1−I) _(i) _(R) _(j) ^(P) is calculated with respect to     all j. Finally, -   ^(e(Σ) ^(α) ^(t+1−I) _(i) _(R) _(J) ^(P,sα) _(I) _(i) ^(P) =e(P,P))     ^(α) ^(t+1) _(ΣR) _(i) is calculated (Step S40).

Each of the participants can use the shared key calculated in the above-described method to securely encrypt a message and transmit the message to the other participants (Step S50). Through information exchange of one round, all participants can securely have the shared key.

Further, confirming whether the messages transmitted by the participants have a type of ^(α) ^(t+1−I) ^(j) _(R) _(t) ^(P) with respect to all j is sufficient to confirm the keys. This can be easily confirmed by using two messages transmitted by two different participants to calculate bilinear maps and comparing the calculation results with each other. In this case, (n−2) bilinear maps need to be additionally calculated and an addition operation is additionally required by (n−2)² in G₁.

As described above, the participants can securely share keys even in a communication environment that is not ensured.

Although the multi-party key agreement method according to the invention has been described in connection with the above-described exemplary embodiment, various changes and modifications can be made without departing from the spirit and scope of the invention. 

1. A multi-party key agreement method in which a plurality of participants share a key, the method comprising: allowing each of the participants to be assigned with a secret key from a key generation party; allowing each of the participants to generate exchange information; allowing each of the participants to transmit its own exchange information to the other participants, such that the exchange information is exchanged between the participants; and allowing each of the participants to generate a shared key on the basis of the received exchange information and its own secret key.
 2. The multi-party key agreement method of claim 1, wherein the exchange information is generated on the basis of values that are generated from groups where bilinear maps are defined and that are opened by the key generation party.
 3. The multi-party key agreement method of claim 2, wherein, in the generating of the shared key, each of the participants calculates a bilinear map of the received exchange information and its own secret key and generates the shared key.
 4. The multi-party key agreement method of claim 1, further comprising: after the exchanging of the exchange information, verifying the other participants by calculating a bilinear map, using the exchange information transmitted from the other participants.
 5. The multi-party key agreement method of claim 1, wherein the secret key is generated on the basis of values that are generated from groups where bilinear maps are defined and that are opened by the key generation party.
 6. The multi-party key agreement method of claim 5, wherein the secret key is generated further on the basis of an identifier of each participant, each identifier being opened to other participants.
 7. The multi-party key agreement method of claim 1, wherein the key generation party does not participate in key agreement processes after assigning the secret key.
 8. The multi-party key agreement method of claim 7, wherein the key agreement processes are completed in one round.
 9. A multi-party key agreement system including a key generation party and a plurality of participants, wherein the key generation party assigns a secret key to each of the participants, and each of the participants generates exchange information and transmits the exchange information to the other participants, such that the exchange information is exchanged between the participants, and generates a shared key on the basis of the exchange information received from the other participants and its own secret key.
 10. The multi-party key agreement system of claim 9, wherein the exchange information is generated on the basis of values that are generated from groups where bilinear maps are defined and that are opened by the key generation party.
 11. The multi-party key agreement system of claim 10, wherein each of the participants calculates a bilinear map of the received exchange information and its own secret key and generates the shared key.
 12. The multi-party key agreement system of claim 9, wherein each of the participants uses the exchange information transmitted from the other participants to calculate a bilinear map and verifies the other participants.
 13. The multi-party key agreement method of claim 9, wherein the secret key is generated on the basis of values that are generated from groups where bilinear maps are defined and that are opened by the key generation party.
 14. The multi-party key agreement method of claim 13, wherein the secret key is generated further on the basis of an identifier of each participant, each identifier being opened to other participants.
 15. The multi-party key agreement method of claim 9, wherein the key generation party does not participate in key agreement processes after assigning the secret key.
 16. The multi-party key agreement method of claim 15, wherein the key agreement processes are completed in one round. 